package com.boco.modules.fdoc.dao;

import java.util.List;

import com.boco.common.annotation.MyBatisDao;
import com.boco.common.persistence.CrudDao;
import com.boco.modules.fdoc.model.DoctorEntity;
import com.boco.modules.fdoc.model.FamdoctorEntity;
import com.boco.modules.fdoc.model.UserDocSignEntity;
import com.boco.modules.fdoc.model.UserRelationsEntity;
import com.boco.modules.fdoc.vo.ResidentVo;
import com.boco.modules.fdoc.vo.SignVo;

@MyBatisDao
public interface FamdoctorDao extends CrudDao<FamdoctorEntity>{
	/**
	 * 获取已签约人数
	 * @param uid
	 * @return
	 */
	public Integer getSignedNum(String uid);
	/**
	 * 获取当前地区未签约人数
	 * @param uid
	 * @return
	 */
	public Integer getNotSignedNum(String uid);
	/**
	 * 获取已签约列表
	 * @param uid
	 * @return
	 */
	public List<ResidentVo> getSignedList(String uid);
	/**
	 * 获取当前地区未签约列表
	 * @param uid
	 * @return
	 */
	public List<ResidentVo> getNotSignedList(String uid);
	/**
	 * 通过uid获取关联的家庭医生
	 * @param uid
	 * @return
	 */
	public FamdoctorEntity getByUid(String uid);
	/**
	 * 签约
	 * @param en
	 * @return
	 */
	public Integer sign(UserDocSignEntity en);
	/**
	 * 查询当前签约人家庭中未签约的人员
	 * @param patientId
	 * @return
	 */
	public List<ResidentVo> getRelationsNotSigned(String idCard);
	/**
	 * 查询当前登录用户是否有已签约的家庭医生
	 * @param uid
	 * @return
	 */
	public Integer isSigned(String idCard);
	/**
	 * 根据用户登录ID获取签约甲乙方姓名
	 * @param uid
	 * @return
	 */
	public SignVo getABnameByLoginUid(String uid);
	/**
	 * 根据身份证获取家庭图片
	 * @param uid
	 * @return
	 */
	public List<UserDocSignEntity> getFamilyPicByIdCard(String idCard);
	/**
	 * 查询当前签约人家庭中已签约的人员
	 * @param patientId
	 * @return
	 */
	public List<ResidentVo> getRelationsSigned(String idCard);
	
}
